The present invention relates to a troubleshooting tool that simplifies the isolation and diagnosis of control program or hardware errors in industrial control systems.
Industrial controllers are special purpose computers used for controlling industrial processes and manufacturing equipment on a real-time basis. Under the direction of a stored control program, the industrial controller examines a set of inputs reflecting the status of the controlled process (“physical inputs”) and internal variables indicating the results of other instructions at a series of program instructions. Based on those inputs, the same or different program instructions change a set of outputs controlling the industrial process (“physical outputs”) and internal variables affecting other instructions. Normally, the instructions are repeated in a “scan” to provide for real-time control.
The ability to troubleshoot control programs is of great importance in industrial control where the majority of control programs have extensive customization or are wholly unique.
To aid in troubleshooting the control program, the operation of the control program and the values of its inputs and outputs and internal variables can be graphically displayed, during live operation of the control system, using a human machine interface (HMI). This display may be in the form of an animation depicting instructions being executed and numeric or symbolic representations of the input and output values.
Often it is desirable or necessary to troubleshoot the operation of the control program at a later time or “off-line”. This can be particularly important if the program fault risks or causes machine damage or if the fault is intermittent and it is economically desirable to continue the controlled process while the faulting is investigated. For this purpose it is known to use “historian” devices to record the inputs and outputs and internal variables of the control program during operation of the industrial process. This data may then be reviewed to gain insight into the operation of the control program and its interaction with the industrial process.
U.S. Pat. No. 7,831,411 assigned to the same assignee as the present invention and hereby incorporated by reference, describes a system that synthesizes the advantages of a real-time monitoring tool using an HMI and a historian service to allow off-line analysis of the control program such as reveals detailed execution of the control program. This invention captures the input and output data and internal variables of the control program and then provides it to a working copy of the control program to produce an animation similar to that provided in the live monitoring described above. Data from different sources may be time stamped so that the different data may be synchronized during this replaying process
Sorting through all of the input and output data associated with even a moderately complex industrial control system can be difficult or impractical. Common input devices such as optical encoders produce a high-bandwidth stream of constantly changing high-resolution data that must be stored and reviewed. Using this data to animate a control program can often produce an opaquely complex display. The ability to focus on a particular defect in the control program, by animating only a short portion of the control program, is hampered by the fact that execution of a control program is affected not only by its current input and output data but by so-called “state or internal variables” determined by historical execution of the control program from the time of its first activation. Generally animation of a control program by execution of the control program using stored data can only occur in the forward direction, making it cumbersome to track down the antecedents of faults.